package unit04.day04;
/**
 * void join()
 * join方法可以使调用该方法的线程进入阻塞状态，直到该方法所属线程完成工作才会解除调用该方法线程的阻塞状态
 * join方法一般用来完成多个线程之间的同步工作问题
 * @author Administrator
 *
 */
public class ThreadDemo8 {
	//表示图片是否加载完毕
	public static boolean isFinish = false;

	public static void main(String[] args) {
		Thread down = new Thread() {
			public void run() {
				for(int i= 0; i <= 100; i++) {
					System.out.println("下载进度:"+i+"%");
					try {
						Thread.sleep(50);
					} catch (InterruptedException e) {
						// TODO 自动生成的 catch 块
						e.printStackTrace();
					}
				}
				System.out.println("下载进度完毕");
				isFinish = true;
			}
		};
		Thread show = new Thread() {
			public void run () {
				System.out.println("图片正在下载....");
				//先等待down把图片下载完毕
				try {
					down.join();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				if(!isFinish) {
					throw new RuntimeException("图片没有下载完毕");
				}
				System.out.println("show:图片显示完毕");
			}
		};
		
		down.start();
		show.start();
	}

}
